import axios from "axios";
import {Toast} from "vant";
import {getErrorMessage} from "@/common/ErrorCode";

const request = axios.create({
    baseURL: 'http://localhost:8123/api',
    timeout: 5000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    // 成功响应（code=0）
    if (response.data.code === 0) {
        return response.data.data; // 直接返回业务数据
    }
    const errorMessage = response.data.message || getErrorMessage(response.data.code);
    Toast(errorMessage);
    return Promise.reject(errorMessage);
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    Toast.fail("网络请求失败，请稍后重试");
    // return Promise.reject(new Error("网络请求失败，请稍后重试"));
    // return Promise.reject(error);
});

export default request
